package icasue.tools.sqlhelper.adaptor.ibatis.mapper;

import icasue.reflect.annotations.NotNull;
import icasue.tools.sqlhelper.core.Consult;
import icasue.tools.sqlhelper.adaptor.annotation.AutoProvider;

/**
 * @Author: Qiao Hang
 * @CreateDate: 2021/11/12 上午9:39
 * @UpdateDate:
 * @Description:
 */
public interface Count<JavaType> {
    @AutoProvider(method = "countAll")
    Long countAll();

    @AutoProvider(method = "countSmart")
    Long countSmart(@NotNull JavaType inst);

    @AutoProvider(method = "countByConsult")
    Long countByConsult(@NotNull Consult<JavaType> consult);
}
